1. Field of the Invention
The present invention relates to electronic software distribution (ESD) and licensing.
2. State of the Art
Conventionally, software has been distributed in shrinkwrap form. That is, disk copies of a piece of software have been packaged and shrinkwrapped, usually together with user's manuals. Boxes of shrinkwrapped software are then moved through distribution channels, with payment being made in the usual commercial fashion.
With the widespread use of CD ROMs, expensive manuals are increasingly being dispensed with in favor of on-line manuals, i.e., manuals stored on CD ROM. The software and its documentation have been merged together. Furthermore, with the proliferation of inexpensive, high capacity hard drives, either on a stand-alone computer or a network server, and widespread Internet access (through increasingly high speed "pipes"), it is now possible to distribute software electronically by pre-loading software on a hard drive or allowing customers to download the software from a server such as an "electronic storefront."
Software publishers, however, often do not wish to open and maintain a "storefront" for electronic software distribution, and often do not have sufficient market reach or presence to effectively distribute the software that they have produced. A software publisher may therefore wish to "team up" with one or more "channel partners" (such as on-line stores) in order to effectively carry out electronic software distribution. In such an arrangement, the software publisher puts a software product within the possession and control of one or more (and possibly hundreds of) channel partners.
To facilitate electronic software distribution, clearinghouses have emerged. A clearinghouse functions as a kind of escrow agent for the software publisher and channel partners. Software products for electronic distribution are locked (using encryption). The clearinghouse holds unlock keys for software products and reports to the other parties whenever an unlock key is requested by and released to a customer. The clearinghouse typically also receives payment from the customer and credits the account of the appropriate channel partner. (Although presently clearinghouses and software publishers are typically separate entities, the clearinghouse function of electronic purchase and payment may be performed by any entity, including the software publisher itself. The term "clearinghouse" as used herein therefore refers to the entity performing the clearinghouse function.)
Electronic software distribution may follow a buy-before-you-try (Buy/Try) model or a try-before-you-buy (Try/Buy) model. Buy/Try is the conventional model used in packaged software distribution: the customer must first buy the package before the customer is able to use it. In the Try/Buy model, the customer is allowed to try the software for a period of time before being required to either buy the software or discontinue use of the software. Try/Buy can operate to the advantage of both the customer (allowing the customer to become acquainted with the product before deciding whether to buy it) and the software publisher (affording more customers an opportunity to try and ultimately buy the product). Try/Buy, however, does introduce further complexity into electronic software distribution, both with respect to security and payment processing. The Software Publishers Association has issued guidelines for Try/Buy electronic software distribution, available at the Web page http://www.spa.org.
Wrapper technology providers are responsible for providing secure encryption technology for Buy/Try and Try/Buy purchases. In the case of Try/Buy, the user downloads and installs the product The product is altered in such a way that the potential customer can use the product a limited number of times, a limited amount of time, or is functionally "crippled" in some way. At the end of the software period, the user either purchases the product or deletes the "wrapped" version. If the product is purchased, the clearinghouse provides the customer a key that "breaks the Try/Buy guard" and permanently installs the product.
Despite growing commercial interest in ESD, various impediments to ESD exist. The purchaser is not provided with any ready proof of purchase as might be required to obtain reimbursement (in the case of software purchased for company use). Furthermore, the software is not provided in permanent form. If a need arises to reinstall the software (e.g., because of hardware or software failure or hardware upgrade), no convenient, reliable mechanism is provided to accomplish the same. Archiving a setup file set, for example, is both inconvenient and unavailing, since reinstallation results only in a trial version of the software, not a paid-up version. Even if the software is programmed to, upon purchase, create a paid-up program archive, a high-capacity storage medium is required, and the medium may be easily mislaid, damaged or lost. The possibility exists of re-downloading the software. However, the typical consumer will have no record of where to software was obtained from and hence where to find the software again. Furthermore, typically only the current version of the software will be available for download. If a consumer has had a older version, an upgrade fee may be charged for upgrading to the current version. The consumer may not want to upgrade at all, since there often exist compatibility problems between versions, let alone pay an upgrade fee.
Other problems arise in moving the software from one machine to another, for example when the consumer gets a new computer. To avoid software theft, electronically distributed software is often bound to a particular machine by computing a quantity known as a "machine ID," either from a serial number of one of the machine's components that is known to be unique or from a sufficient number of machine characteristics such that the ID is statistically unique. If the software is moved to another machine, the software recognizes the change in machines and will not run. Although machine binding provides protection against illegitimate copying of software, it also in many instances prevents legitimate use of the software.
What is needed, then, is a mechanism that overcomes the foregoing problems and preferably one that make software purchase using ESD more attractive than the purchase of shrink-wrapped software.